package com.wit.po;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * Employee entity. @author MyEclipse Persistence Tools
 */

@SuppressWarnings("serial")
public class Employee implements java.io.Serializable {

	// Fields

	private String employeeId;
	private Department department;
	private Employeeposition employeeposition;
	private String employeeNameC;
	private String employeeNameE;
	private String password;
	private String companyName;
	private String employeeSex;
	private String employeeIdcard;
	private Date employeeBornDate;
	private String employeeEdu;
	private Boolean employeeMarrige;
	private Date enterDate;
	private String employeeStatu;
	private String employeeAddress;
	private String employeePc;
	private String employeePh;
	private String employeeTel;
	private String employeefax;
	private String employeeemail;
	private Double edeposit;
	private String ezhanye;
	private Date evalidate;
	private String eadgen;
	private String contacct;
	private Set worklogs = new HashSet(0);
	private Set policies = new HashSet(0);
	private Set notices = new HashSet(0);
	private Set employeedutychanges = new HashSet(0);
	private Set empPows = new HashSet(0);
	private Set departments = new HashSet(0);
	private Set clients = new HashSet(0);
	private Set separations = new HashSet(0);


	// Constructors

	public Set getSeparations() {
		return separations;
	}

	public void setSeparations(Set separations) {
		this.separations = separations;
	}

	/** default constructor */
	public Employee() {
	}

	/** minimal constructor */
	public Employee(String employeeId) {
		this.employeeId = employeeId;
	}

	/** full constructor */
	public Employee(String employeeId, Department department,
			Employeeposition employeeposition, String employeeNameC,
			String employeeNameE, String password, String companyName,
			String employeeSex, String employeeIdcard, Date employeeBornDate,
			String employeeEdu, Boolean employeeMarrige, Date enterDate,
			String employeeStatu, String employeeAddress, String employeePc,
			String employeePh, String employeeTel, String employeefax,
			String employeeemail, Double edeposit, String ezhanye,
			Date evalidate, String eadgen, String contacct, Set worklogs,
			Set policies, Set notices, Set employeedutychanges, Set empPows,
			Set departments, Set clients,Set separations) {
		this.employeeId = employeeId;
		this.department = department;
		this.employeeposition = employeeposition;
		this.employeeNameC = employeeNameC;
		this.employeeNameE = employeeNameE;
		this.password = password;
		this.companyName = companyName;
		this.employeeSex = employeeSex;
		this.employeeIdcard = employeeIdcard;
		this.employeeBornDate = employeeBornDate;
		this.employeeEdu = employeeEdu;
		this.employeeMarrige = employeeMarrige;
		this.enterDate = enterDate;
		this.employeeStatu = employeeStatu;
		this.employeeAddress = employeeAddress;
		this.employeePc = employeePc;
		this.employeePh = employeePh;
		this.employeeTel = employeeTel;
		this.employeefax = employeefax;
		this.employeeemail = employeeemail;
		this.edeposit = edeposit;
		this.ezhanye = ezhanye;
		this.evalidate = evalidate;
		this.eadgen = eadgen;
		this.contacct = contacct;
		this.worklogs = worklogs;
		this.policies = policies;
		this.notices = notices;
		this.employeedutychanges = employeedutychanges;
		this.empPows = empPows;
		this.departments = departments;
		this.clients = clients;
		this.separations=separations;
	}

	// Property accessors
	public boolean hasAccessToWorklog(Employee author)
	{
		if(author == null)
			return true;
		return employeeId.equals(author.getEmployeeId());
	}
	
	public boolean hasAccessToNotice(Employee author)
	{
		if(author == null)
			return true;
		return employeeId.equals(author.getEmployeeId());
	}

	public boolean hasAccessToAgenda(Employee author)
	{
		if(author == null)
			return true;
		return employeeId.equals(author.getEmployeeId());
	}
	
	
	
	public String getEmployeeId() {
		return this.employeeId;
	}

	
	
	public void setEmployeeId(String employeeId) {
		this.employeeId = employeeId;
	}

	public Department getDepartment() {
		return this.department;
	}

	public void setDepartment(Department department) {
		this.department = department;
	}

	public Employeeposition getEmployeeposition() {
		return this.employeeposition;
	}

	public void setEmployeeposition(Employeeposition employeeposition) {
		this.employeeposition = employeeposition;
	}

	public String getEmployeeNameC() {
		return this.employeeNameC;
	}

	public void setEmployeeNameC(String employeeNameC) {
		this.employeeNameC = employeeNameC;
	}

	public String getEmployeeNameE() {
		return this.employeeNameE;
	}

	public void setEmployeeNameE(String employeeNameE) {
		this.employeeNameE = employeeNameE;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getCompanyName() {
		return this.companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getEmployeeSex() {
		return this.employeeSex;
	}

	public void setEmployeeSex(String employeeSex) {
		this.employeeSex = employeeSex;
	}

	public String getEmployeeIdcard() {
		return this.employeeIdcard;
	}

	public void setEmployeeIdcard(String employeeIdcard) {
		this.employeeIdcard = employeeIdcard;
	}

	public Date getEmployeeBornDate() {
		return this.employeeBornDate;
	}

	public void setEmployeeBornDate(Date employeeBornDate) {
		this.employeeBornDate = employeeBornDate;
	}

	public String getEmployeeEdu() {
		return this.employeeEdu;
	}

	public void setEmployeeEdu(String employeeEdu) {
		this.employeeEdu = employeeEdu;
	}

	public Boolean getEmployeeMarrige() {
		return this.employeeMarrige;
	}

	public void setEmployeeMarrige(Boolean employeeMarrige) {
		this.employeeMarrige = employeeMarrige;
	}

	public Date getEnterDate() {
		return this.enterDate;
	}

	public void setEnterDate(Date enterDate) {
		this.enterDate = enterDate;
	}

	public String getEmployeeStatu() {
		return this.employeeStatu;
	}

	public void setEmployeeStatu(String employeeStatu) {
		this.employeeStatu = employeeStatu;
	}

	public String getEmployeeAddress() {
		return this.employeeAddress;
	}

	public void setEmployeeAddress(String employeeAddress) {
		this.employeeAddress = employeeAddress;
	}

	public String getEmployeePc() {
		return this.employeePc;
	}

	public void setEmployeePc(String employeePc) {
		this.employeePc = employeePc;
	}

	public String getEmployeePh() {
		return this.employeePh;
	}

	public void setEmployeePh(String employeePh) {
		this.employeePh = employeePh;
	}

	public String getEmployeeTel() {
		return this.employeeTel;
	}

	public void setEmployeeTel(String employeeTel) {
		this.employeeTel = employeeTel;
	}

	public String getEmployeefax() {
		return this.employeefax;
	}

	public void setEmployeefax(String employeefax) {
		this.employeefax = employeefax;
	}

	public String getEmployeeemail() {
		return this.employeeemail;
	}

	public void setEmployeeemail(String employeeemail) {
		this.employeeemail = employeeemail;
	}

	public Double getEdeposit() {
		return this.edeposit;
	}

	public void setEdeposit(Double edeposit) {
		this.edeposit = edeposit;
	}

	public String getEzhanye() {
		return this.ezhanye;
	}

	public void setEzhanye(String ezhanye) {
		this.ezhanye = ezhanye;
	}

	public Date getEvalidate() {
		return this.evalidate;
	}

	public void setEvalidate(Date evalidate) {
		this.evalidate = evalidate;
	}

	public String getEadgen() {
		return this.eadgen;
	}

	public void setEadgen(String eadgen) {
		this.eadgen = eadgen;
	}

	public String getContacct() {
		return this.contacct;
	}

	public void setContacct(String contacct) {
		this.contacct = contacct;
	}

	@SuppressWarnings("unchecked")
	public Set getWorklogs() {
		return this.worklogs;
	}

	public void setWorklogs(Set worklogs) {
		this.worklogs = worklogs;
	}

	public Set getPolicies() {
		return this.policies;
	}

	public void setPolicies(Set policies) {
		this.policies = policies;
	}

	public Set getNotices() {
		return this.notices;
	}

	public void setNotices(Set notices) {
		this.notices = notices;
	}

	public Set getEmployeedutychanges() {
		return this.employeedutychanges;
	}

	public void setEmployeedutychanges(Set employeedutychanges) {
		this.employeedutychanges = employeedutychanges;
	}

	public Set getEmpPows() {
		return this.empPows;
	}

	public void setEmpPows(Set empPows) {
		this.empPows = empPows;
	}

	public Set getDepartments() {
		return this.departments;
	}

	public void setDepartments(Set departments) {
		this.departments = departments;
	}

	public Set getClients() {
		return this.clients;
	}

	public void setClients(Set clients) {
		this.clients = clients;
	}

}